CV_CHOKE_PRESS_LIQ
Overview
Calculates the pressure at which choked flow occurs in a liquid control valve.
Excel Usage
=CV_CHOKE_PRESS_LIQ(p_sat, p_crit, fl_factor, p_inlet, p_outlet)
p_sat(float, required): Saturation pressure (Pa)p_crit(float, required): Critical pressure (Pa)fl_factor(float, required): Liquid pressure recovery factor (-)p_inlet(float, optional, default: null): Inlet pressure (Pa)p_outlet(float, optional, default: null): Outlet pressure (Pa)
Returns (float): Choked pressure (Pa)
Examples
Example 1: Docs example (given P1)
Inputs:
| p_sat | p_crit | fl_factor | p_inlet |
|---|---|---|---|
| 69682.89 | 22048320 | 0.6 | 680000 |
Excel formula:
=CV_CHOKE_PRESS_LIQ(69682.89, 22048320, 0.6, 680000)
Expected output:
458887.53
Example 2: Docs example (given P2)
Inputs:
| p_sat | p_crit | fl_factor | p_outlet |
|---|---|---|---|
| 69682.89 | 22048320 | 0.6 | 458887.53 |
Excel formula:
=CV_CHOKE_PRESS_LIQ(69682.89, 22048320, 0.6, 458887.53)
Expected output:
680000
Example 3: Water at 100C
Inputs:
| p_sat | p_crit | fl_factor | p_inlet |
|---|---|---|---|
| 101325 | 22064000 | 0.9 | 1000000 |
Excel formula:
=CV_CHOKE_PRESS_LIQ(101325, 22064000, 0.9, 1000000)
Expected output:
279532.75
Example 4: Ethanol at 25C
Inputs:
| p_sat | p_crit | fl_factor | p_inlet |
|---|---|---|---|
| 7900 | 6140000 | 0.8 | 500000 |
Excel formula:
=CV_CHOKE_PRESS_LIQ(7900, 6140000, 0.8, 500000)
Expected output:
184080.37
Python Code
import micropip
await micropip.install(["fluids"])
from fluids.control_valve import control_valve_choke_P_l
def cv_choke_press_liq(p_sat, p_crit, fl_factor, p_inlet=None, p_outlet=None):
"""
Calculates the pressure at which choked flow occurs in a liquid control valve.
See: https://fluids.readthedocs.io/fluids.control_valve.html#fluids.control_valve.control_valve_choke_P_l
This example function is provided as-is without any representation of accuracy.
Args:
p_sat (float): Saturation pressure (Pa)
p_crit (float): Critical pressure (Pa)
fl_factor (float): Liquid pressure recovery factor (-)
p_inlet (float, optional): Inlet pressure (Pa) Default is None.
p_outlet (float, optional): Outlet pressure (Pa) Default is None.
Returns:
float: Choked pressure (Pa)
"""
if p_sat <= 0:
return "Error: Saturation pressure must be positive."
if p_crit <= 0:
return "Error: Critical pressure must be positive."
if fl_factor <= 0:
return "Error: Liquid pressure recovery factor must be positive."
if p_inlet is None and p_outlet is None:
return "Error: Either inlet pressure or outlet pressure must be provided."
try:
return float(control_valve_choke_P_l(Psat=p_sat, Pc=p_crit, FL=fl_factor, P1=p_inlet, P2=p_outlet, check_choking=True))
except Exception as e:
return f"Error: {str(e)}"